Servers are used to manage functional computing operations in a variety of settings. In the field of printing, servers may be used to manage the operations of a print shop. For example, a server for a print shop may distribute print jobs, adjust printer settings, administrate user settings and permissions, and perform other duties relevant to the print shop. Unfortunately, servers often utilize internal data structures at runtime that are highly specialized. Client applications that read and write information from the servers often use different data structures than those provided by the servers, and mechanisms to translate between these data structures are used enable the transmission of information between the clients and the servers. These data structures and translation mechanisms may be coded manually, but as large software applications may utilize hundreds of different data structures for server/client communications, a mechanism for automatically generating interoperable source code for clients and servers is desirable. When the programming language used by a client computer is different than that used by the server, it may be particularly hard to generate source code that allows clients to access the server-side data structures. For example, a server-side data structure may include types that do not correspond with the language of the client. A type is a classification that identifies the range of possible values for a variable, the range of operations that may be performed on the variable, and/or the manner in which the variable may be stored. Examples of types include int, string, float, boolean, and others.
To address these issues, servers and clients often utilize one or more conversion libraries at runtime which provide a translation mechanism to convert types for a data structure from one language to another. For example, a conversion library may be used by an Adobe® Flex® application to access internal data structures of a Java application, and the conversion library may further indicate which types (e.g., string) can be readily converted between languages. Unfortunately, these conversion libraries only support standardized data structures and types which are coded according to rigid sets of rules. As servers often use customized data structures that are not compliant with rule sets used for conversion libraries, the conversion libraries may be unable to facilitate access to all of the internal data structures of the server.